package com.xinqi.modules.exam.common.constants;

/**
 * 测评常量
 *
 * @author linkai
 * @date 2023/7/7
 */
public interface ExamConstants {

    String EXAM_KEY = "exam:id:%s";

    String EXAM_CONFIG_EID_KEY = "exam:cfg:eid:%s";

    String EXAM_CONFIG_ID_TO_EID_KEY = "exam:cfg:id:%s";

    String LIMIT_REMIND_KEY = "exam:limit:remind:%s";

    int END_DELAY_SUBMIT_TIMES = 1;

    interface Queue {
        /**
         * 测评发布延时队列
         */
        String EXAM_RELEASE_QUEUE = "queue:exam:release";
        /**
         * 测评开始延时队列
         */
        String EXAM_START_QUEUE = "queue:exam:start";
        /**
         * 测评结束延时队列
         */
        String EXAM_END_QUEUE = "queue:exam:end";
        /**
         * 延时系统批阅
         */
        String EXAM_DELAY_MARK_QUEUE = "queue:exam:delay:mark";
    }

    interface Topic {
        /**
         * 生成试卷
         */
        String GENERATE_STUDENT_PAPER_TOPIC = "topic:exam:generate:student:paper";
        /**
         * 开始考试
         */
        String START_EXAM_TOPIC = "topic:exam:start:exam";
        /**
         * 结束考试
         */
        String END_EXAM_TOPIC = "topic:exam:end:exam";
        /**
         * 生成测评分析
         */
        String GENERATE_EXAM_ANALYZE_TOPIC = "topic:exam:generate:analyze";
    }

    interface Limit {
        /**
         * 答题上限不能超过600(分钟)
         */
        Integer ANSWER_TIME_LIMIT = 600;
        /**
         * 试卷题目数上线200(题)
         */
        Integer EXAM_QUESTION_NUM_LIMIT = 200;
    }
}
